package 其他.特殊的5键键盘;
/**
 * 【注意点】  看这个事务的最终态 ，  哪些地方会有这个数量在，
 * 虽然是 可以看到这个有 5中方法， 但是只有3个地方有这个 字母在
 * 1， 已经输出的字符
 * 2， 所选择的字符
 * 3， 剪切板上的字符
 * <p>
 * 1-- a ,代表输出一个a
 * 2-- ctrl-c , 将当前选择的字母复制到剪切板
 * 3-- ctrl-x, 剪切
 * 4-- ctrl-v, 复制
 * 5-- ctrl-a, 全选
 * <p>
 * 【此题最重要的就是可以分析出这3个数量来】
 */

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        String[] strings = s.split(" ");
        int count = 0;
        int selectCount = 0;
        int copyCount = 0;
        for (int i = 0; i < strings.length; i++) {
            if (1 == Integer.valueOf(strings[i])) {
                //  清空选择的数量
                selectCount = 0;
                // 对已经输出的数量+1
                count++;

            } else if (2 == Integer.valueOf(strings[i])) {

                if (selectCount != 0) {
                    //  直接用已经选择的覆盖之前的剪切板上的数量
                    copyCount = selectCount;
                    //  把已经选择的置为 0
                    selectCount = 0;
                }

            } else if (3 == Integer.valueOf(strings[i])) {
                if (selectCount != 0) {
                    // 把选择的数量放在剪切板上
                    copyCount = selectCount;
                    // 把选择的数量置为0
                    selectCount = 0;
                    // 把屏幕上的已经输出的置为0
                    count = 0;
                }
            } else if (4 == Integer.valueOf(strings[i])) {
                // 有字母被选择时
                if (selectCount != 0) {
                    // 把选择的数量置为0
                    selectCount = 0;
                    // 把剪切板上的字符打印到屏幕上
                    count += copyCount;
                } else {
                    // 当屏幕上的字符数量不为0时
                    if (count != 0) {
                        // 已经选择的数量就是这个屏幕上的数量
                        selectCount = count;
                    }
                }
            }
        }

        System.out.println(count);
    }
}
